package com.ds.infrastructure.audit.consumer.service;

import com.ds.infrastructure.audit.producer.api.service.WeatherApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 作用：
 *
 * @author WeiShaoying
 */
@Service
@Slf4j
public class OrderService {

    @Autowired
    private WeatherApi payApi;

    public String payOK(Integer id) {
        return payApi.pay_OK(id);
    }

    @GetMapping("/consumer/order/timeout/{id}")
//    @HystrixCommand(fallbackMethod = "paymentTimeOutFallbackMethod", commandProperties = {
//            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1500")
//    })
    public String payTimeOut(@PathVariable("id") Integer id) {
        //int age = 10 / 0;
        return payApi.pay_TimeOut(id);
    }

//    public String paymentTimeOutFallbackMethod(@PathVariable("id") Integer id) {
//        return "我是消费者80,对方支付系统繁忙请10秒钟后再试或者自己运行出错请检查自己,o(╥﹏╥)o";
//    }
//
//    // 下面是全局fallback方法
//    public String payment_Global_FallbackMethod() {
//        return "Global异常处理信息，请稍后再试，/(ㄒoㄒ)/~~";
//    }

}
